import defaultImg from '@/assets/common/head.jpg'
import Vue from 'vue'

const directiveObj = {
  imgerror: {
    //  bind,inserted,update,componentUpdated,unbind
    inserted(dom, obj, vnode) {
      // if (!dom.src) {
      //   dom.src = defaultImg
      // }
      dom.src = dom.src || obj.value || defaultImg
      // dom.onerror = () => {
      //   // 如果图片加载出错
      //   dom.src = defaultImg
      // }
      dom.addEventListener('error', () => {
        dom.src = obj.value || defaultImg
      })
    },
    componentUpdated(dom, obj) {
      dom.src = dom.src || obj.value || defaultImg
    }
  },
  xxx: {},
  abc: {}
}
// 循环对象：for in
// 数组转对象:
// 数组的key转换为对象 Object.keys(对象)  Object.values(对象)   Object.entries(对象)
// Object.keys(directiveObj)====['imgerror','xxx','abc']

// Object.keys(directiveObj).forEach((key) => {
//   Vue.directive(key, directiveObj[key])
// })
Object.entries(directiveObj).forEach((item) => {
  Vue.directive(item[0], item[1])
})
